package app.repositories;

import java.util.List;

import app.models.Funcionario;

public interface FuncionarioRepository {
	 
	void create(Funcionario entity);
	
	Funcionario update(Funcionario entity);
	
	void delete(Funcionario entity);
	
	Funcionario find(Long id);
	
	List<Funcionario> findAll();
	
	List<Funcionario> findAllOrdered();
	
	List<Funcionario> findLastRegistered();
	
	List<Funcionario> findByNameOrCpf(String nome, String cpf);
	
	List<Funcionario> findAllEspecialistas();
	
	List<Funcionario> findAllEspecialistasByEspecialidade(Integer especialidadeId);
	
	List<Funcionario> findAllSecretary();
	
	List<Funcionario> findByFilter(String filter);
	
	List<Funcionario> findEspecialistasByEspecialidade(Long idEspecialidade);
	
	Funcionario findByUserId(Long userId);
	
	List<Funcionario> findAllFuncionariosWithSalary();

}
